package com.xiu.travel.util.api;

/**
 * API操作码
 *
 * @author yingyingying
 * @since  2023/3/8 21:24
 */
public enum ResultCode implements IErrorCode {
    /**
     * 操作成功
     */
    SUCCESS(200, ""),
    /**
     * 操作失败
     */
    FAILED(500, "操作失败"),
    /**
     * 添加失败
     */
    SQL_INSERT_FAILED(500, "数据添加失败"),
    /**
     * 找不到文件
     */
    UN_FILE(404, "找不到文件"),
    /**
     * 添加失败
     */
    SQL_INSERT_HAS_FAILED(2333, "数据库已经存在一条相同的记录，请检查输入参数"),
    /**
     * 参数检验失败
     */
    VALIDATE_FAILED(400, "找不到参数目标"),
    /**
     * 暂未登录或token已经过期
     */
    UNAUTHORIZED(401, "暂未登录或token已经过期"),
    /**
     * 没有相关权限
     */
    FORBIDDEN(403, "没有相关权限"),
    /**
     * 用户密码错误
     */
    BAD_USER_PASSWORD(406, "用户密码错误"),
    /**
     * 根据条件未查询到
     */
    FIND_NOT_RESULT(233, "找不到，没结果"),
    /**
     * 支付异常
     */
    ABNORMAL_PAYMENT(505, "支付异常"),
    /**
     * 订单创建失败
     */
    ORDER_CREATION_FAILURE(530, "订单创建失败,库存不足"),
    /**
     * 支付系统维护中
     */
    PAYMENT_SYSTEM_MAINTENANCE(555, "支付系统维护中"),
    /**
     * 限制该用户支付
     */
    LIMIT_THE_USERS_PAYMENTS(556, "限制该用户支付"),
    /**
     * 付款码支付失败 self
     */
    PAYMENT_CODE_PAYMENT_FAILED(510, "余额不足,付款码支付失败"),
    /**
     * 付款码失效
     */
    PAYMENT_CODE_INVALID(511, "付款码失效"),
    /**
     * 付款码已关闭
     */
    PAYMENT_CODE_IS_OFF(512, "付款码已关闭"),
    /**
     * 钱包不适用于烟酒产品支付
     */
    NOT_APPLICABLE_TO_PAYMENT(513, "钱包不适用于烟酒产品支付"),
    /**
     * 暂未使用付款码
     */
    PAYMENT_CODE_IS_NOT_IN_USE(520, "暂未使用付款码"),
    ;

    private final long code;
    /**
     * 操作成功
     */
    private final String message;

    ResultCode(long code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public long getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }
}
